Jump To:
Technical Notes provide late breaking information about new Apple technologies and supplementary documentation discussing some of the more complex issues related to programming for the Mac OS.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Date
CD-ROM Driver Calls (HTML) (PDF)
Deprecated - DV22: Discusses public interface to Apple CD-ROM driver and supersedes information in AppleCD SC Developer's Guide.
Accessibility 2000-08-14
About the Keynote XML File Format (APXL Schema) (HTML) (PDF)
TN2067: Describes the Keynote XML file format schema for developers creating or modifying Keynote presentations programmatically.
Apple Applications 2003-02-12
Apple Image Capture Camera Module changes for Mac OS X Update 10.1.3 (HTML) (PDF) ()
TN2040: Changes to the Apple Image Capture camera modules for Mac OS X Update 10.1.3.
Apple Applications 2002-04-16
Browser Plugins in Mac OS X (HTML) (PDF) ()
TN2020: Describes the format of web browser plugins for Mac OS X.
Apple Applications 2001-05-31
Deconstructing A Keynote Document: Part One - Slides (HTML) (PDF)
TN2073: Provides a Keynote XML file format overview; details the XML, showing slide, text and graphics functionality.
Apple Applications 2003-05-20
Extending and Controlling Sherlock (HTML) (PDF) ()
TN1141: Discusses features of Sherlock 2, including additions to the Internet Search Plug-in language and Applescript commands.
Apple Applications 2000-08-14
iTunes Visual Plug-ins (HTML) (PDF) ()
TN2016: Describes the APIs used by iTunes and its Visual plug-ins to communicate back and forth.
Apple Applications 2001-06-26
iTunes Visual Plug-ins for Windows (HTML) (PDF)
TN2098: Creating visual plug-ins for iTunes Windows 4.1 and later.
Apple Applications 2003-10-17
Sherlock's Find By Content Library (HTML) (PDF) ()
TN1180: A description of routines provided by Sherlock's Find by Content library.
Apple Applications 1999-10-01
AEBuild*, AEPrint* and Friends (HTML) (PDF) ()
TN2045: Describes the AEBuild* and AEPrint* family of routines.
AppleScript 2002-03-21
do shell script in AppleScript (HTML) (PDF) ()
TN2065: Frequently Asked Questions about the AppleScript "do shell script" command.
AppleScript 2003-01-27
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
AppleScript 2003-12-09
Native Scripting Additions (HTML) (PDF) ()
TN1164: Talks about how to create AppleScript scripting additions (OSAX) for Mac OS X.
AppleScript 2004-04-26
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
AppleScript 2004-03-01
AEBuild*, AEPrint* and Friends (HTML) (PDF) ()
TN2045: Describes the AEBuild* and AEPrint* family of routines.
Carbon 2002-03-21
AEStream and Friends (HTML) (PDF) ()
TN2046: Describes the AEStream family of routines.
Carbon 2002-03-29
Authorization for Everyone (HTML)
TN2095: Describes applications of Authorization Services beyond simple privilege requesting.
Carbon 2003-10-23
Background-Only Applications (HTML) (PDF) ()
TN1070: Describes issues and implementation strategies for creating Background-Only Applications.
Carbon 2000-08-14
Browser Plugins in Mac OS X (HTML) (PDF) ()
TN2020: Describes the format of web browser plugins for Mac OS X.
Carbon 2001-05-31
The CGDirectPalette API (HTML) (PDF) ()
TN2008: Provides a reference for the CGDirectPalette API on Mac OS X
Carbon 2000-11-08
Checklist for Building Applications and Extensions (HTML) (PDF) ()
TN1126: Summarizes the different items which you need to include to build a good, well-behaved Macintosh product.
Carbon 2000-08-14
Creating NetBoot Server-Friendly Applications (HTML) (PDF) ()
TN1151: Guidelines to ensure applications are able to work correctly in a NetBoot environment.
Carbon 2000-08-01
The Death of typeFSSpec: moving along to typeFileURL (HTML) (PDF) ()
TN2022: Discusses the typeFileURL format and using it to pass file references between applications in Mac OS X.
Carbon 2001-06-07
Dialog Manager Helper Functions (HTML) (PDF) ()
TN1148: Discusses Dialog Manager calls available since System 7.0 that minimize work in managing dialogs.
Carbon 2000-08-14
Digital CD Audio (HTML) (PDF) ()
TN1187: Describes digital audio on the Macintosh.
Carbon 2000-04-01
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
Carbon 2003-12-09
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (PDF) ()
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Carbon 2003-02-18
Exclusive File Access in Mac OS X (HTML) (PDF) ()
TN2037: Covers exclusive file access In Mac OS X
Carbon 2002-05-01
FCBs, Now and Forever (HTML) (PDF) ()
TN1184: MacOS 9.0 changes the format of the FileControlBlock (FCB) table significantly. How to access FCB information.
Carbon 1999-10-01
File Manager File Handling Q&As (HTML) (PDF)
FL515: Contains an archive of Q&As related to the Mac OS File Manager.
Carbon 2000-08-14
File Manager Performance and Caching (HTML) (PDF)
FL16: Discusses traditional Mac OS file system input/output performance issues and the File Manager's volume cache.
Carbon 2000-09-01
The Font Panel for Carbon API (HTML) (PDF) ()
TN2058: The API to display and interact with the Font Panel from Carbon applications on Mac OS X.
Carbon 2002-09-05
GDB for MacsBug Veterans (HTML) (PDF)
TN2030: Translate your experience with MacsBug into a working knowledge of the GNU source-level debugger (GDB).
Carbon 2001-10-18
Gestalt Manager Q&As (HTML) (PDF)
Deprecated - OS505: Describes methods utilizing the Gestalt Manager for determining whether a Macintosh is a U.S. machine.
Carbon 1992-12-01
Glyph Access Protocol (HTML) ()
TN2079: How to support unencoded glyphs using the TSM, ATSUI and Cocoa.
Carbon 2003-05-06
Guide to Creating Kiosks on Mac OS X (HTML) (PDF) ()
TN2062: Discusses techniques used in creating applications which require kiosk-like functionality on Mac OS X.
Carbon 2003-02-24
HFS Plus Volume Format (HTML) (PDF) ()
TN1150: Describes the physical layout of an HFS Plus volume.
Carbon 2004-03-05
HIView APIs vs. Control Manager APIs (HTML)
TN2074: Provides some clarification on the similar APIs and similar behaviors found in the HIView and Control Managers.
Carbon 2003-10-29
How To Be a Good Multiple Users Citizen (HTML) (PDF) ()
TN1186: Documents the Mac OS 9 Multiple Users technology and gives some useful code snippets.
Carbon 2000-06-01
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (PDF) ()
TN2033: Covers the ATSUI low-level APIs.
Carbon 2001-11-26
In Search of Missing Links (HTML) (PDF) ()
TN1127: Demonstrates how to write CFM glue code which can call classic 68K A-Trap routines.
Carbon 1998-05-01
Locating Application Support Files under Mac OS X (HTML) (PDF) ()
TN2015: Describes different methods for an application to determine its location.
Carbon 2001-03-27
Locking and Unlocking Handles (HTML) (PDF) ()
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Carbon 1998-02-01
Mac OS X 10.2 (HTML) (PDF)
TN2053: Describes software development-related changes provided in system software update Mac OS X 10.2.
Carbon 2002-09-04
Mac OS X 10.3 Navigation Services Changes (HTML) ()
TN2105: Explains Navigation Services changes in Mac OS X 10.3 Panther
Carbon 2004-01-30
Mac OS X QuickDraw Performance (HTML) (PDF) ()
TN2051: Some of the trouble spots in the Mac OS X windowing system and how to avoid them.
Carbon 2003-02-13
Mac OS X: v10.1.1 - v10.1.3 (HTML) (PDF)
TN2043: Describes changes provided by system software updates 10.1.1 through 10.1.3.
Carbon 2002-03-06
Migrating to FSRefs & long Unicode names from FSSpecs (HTML) ()
TN2078: Answers and coding techniques to commonly asked questions about adopting FSRefs and long file names.
Carbon 2003-05-06
Moving Your Code to Mac OS X (HTML) (PDF) ()
TN2003: Talks about considerations for moving older Mac OS 9 applications to Mac OS X.
Carbon 2000-10-05
MP-Safe Routines (HTML) (PDF)
TN2006: Lists all routines callable from MP tasks under Multiprocessing Services 2.0 and higher.
Carbon 2000-12-21
Native Scripting Additions (HTML) (PDF) ()
TN1164: Talks about how to create AppleScript scripting additions (OSAX) for Mac OS X.
Carbon 2004-04-26
The Notification Manager: Problems & Fixes (HTML) (PDF)
TN1026: Describes issues with the Notification Manager 'activate' and 'update' events.
Carbon 1996-02-01
Observing Process Lifetimes Without Polling (HTML) (PDF)
TN2050: Shows a variety of methods to determine process lifetimes without polling.
Carbon 2002-07-01
On Drag Manager Additions (Release 1.1) (HTML) (PDF)
TN1043: Explains how to take advantage of the new Drag Manager features, including the translucent dragging.
Carbon 2000-08-14
On Launching an App with a Document (HTML) (PDF) ()
TN1002: Explains how to programatically launch an application and then tell it to open a document.
Carbon 2000-07-01
Open Transport STREAMS FAQ (HTML) (PDF)
Deprecated - TN1117: Decribes writing STREAMS modules and drivers for use with Open Transport.
Carbon 1997-12-01
Opening Resource Files Twice Considered Hard? (HTML) (PDF) ()
TN1120: Describes the behavior of FSpOpenResFile when the resource file is already open, and how to avoid problems.
Carbon 1998-01-01
Pascal to C: PROCEDURE Parameters (HTML) (PDF)
Deprecated - PT31: Nested procedures and PROCEDURE parameters in Pascal when converting them into C or C++.
Carbon 1990-02-01
'pdat' specification (HTML) (PDF) ()
TN2049: Describes 'pdat' resource printer vendors must include in their drivers to support CarbonLib printing.
Carbon 2002-04-22
Pending Update Perils (HTML) (PDF) ()
Deprecated - TN1147: Discusses potential problems when pending update events for windows behind modal dialogs are not serviced.
Carbon 2000-08-14
The 'plst' Resource (HTML) (PDF) ()
TN2013: Describes the 'plst' resource for Carbon-based applications.
Carbon 2002-02-07
Power Manager 2.0 (HTML) (PDF) ()
TN1190: Describes the Macintosh Power Manager 2.0.
Carbon 2000-08-14
PowerPC G5 Performance Primer (HTML) ()
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Carbon 2003-09-03
The Preferences Problem (HTML) (PDF) ()
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
Carbon 1998-10-01
Programmatic Mounting of AppleShare Volumes (HTML) (PDF) ()
TN1111: Mount an AppleShare volume using PBVolumeMount. AFPVolMountInfo structure is defined along with the AFPXVolMountInfo structure.
Carbon 1997-10-01
Resolving Alias Files Quietly (HTML) (PDF)
FL30: Describes how to resolve alias files on remote volumes without user interaction.
Carbon 1999-11-01
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
Carbon 2004-03-01
Searching Volumes - Solutions and Problems (HTML) (PDF)
Deprecated - FL31: Discusses searching volumes using PBCatSearch.
Carbon 1988-10-01
SndPlayDoubleBuffer and Carbon (HTML) (PDF) ()
TN1198: Removal of the SndPlayDoubleBuffer and other APIs from the Carbon API set and Carbon solutions.
Carbon 2002-06-12
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
Carbon 2004-10-08
Threading Architectures (HTML) (PDF) ()
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Carbon 2001-08-08
Tuning for G5: A Practical Guide (HTML) ()
TN2086: Explains how to get started tuning your application for the new Macintosh G5 architecture.
Carbon 2003-10-01
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Carbon 2003-12-29
Update: Borrowed AFP Sessions (HTML) (PDF) ()
TN1106: Shows how to borrow the session reference number of an AFP volume mounted by the Macintosh File System.
Carbon 2000-08-14
Using collection classes safely with multithreaded applications (HTML) (PDF) ()
TN2059: Describes some problems with and workarounds for using mutable collection classes in multithreaded applications.
Carbon 2002-09-10
Using Launch Services for discovering document binding and launching applications (HTML) (PDF) ()
TN2017: Interface to starting applications, opening documents either with a specific application, or using the default application.
Carbon 2001-04-17
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Carbon 2004-06-14
Using the Drag Manager to Interact with and Manipulate File System Entities (HTML) (PDF) ()
TN1085: Details the data flavors provided by the Drag Manager for interacting with and manipulating file system entities.
Carbon 1996-12-01
Version Territory (HTML) (PDF) ()
TN1132: Clarifies the format of data in the NumVersion structure used in a version ( 'vers') resource.
Carbon 2003-08-25
Version Territory (HTML)
Deprecated - OV12: Please see Technical Note 1132 - Version Territory.
Carbon 1988-04-01
Virtual Memory Application Compatibility (HTML) (PDF)
Deprecated - TN1094: Provides an introduction to how virtual memory works under Traditional Mac OS.
Carbon 1998-04-01
Weak-Linking to a Code Fragment Manager-based Shared Library (HTML) (PDF) ()
TN1083: Describes weak-linking to CFM shared libraries.
Carbon 1996-11-01
Working with Multiprocessing Services (HTML) (PDF) ()
TN1071: Discusses some techniques for use with Apple's Multiprocessing Services APIs.
Carbon 2000-08-14
You Want Permission to do What?!! (HTML) (PDF)
FL37: Provides an-depth discussion of the File Manager and AFP permission models.
Carbon 1999-04-01
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
Cocoa 2003-12-09
Ensuring Backwards Binary Compatibility - Weak Linking and Availability Macros on Mac OS X (HTML) (PDF) ()
TN2064: Ensuring that Mach-O applications built using today's Mac OS X runs on previous versions of the OS.
Cocoa 2003-02-18
Exclusive File Access in Mac OS X (HTML) (PDF) ()
TN2037: Covers exclusive file access In Mac OS X
Cocoa 2002-05-01
File Manager Performance and Caching (HTML) (PDF)
FL16: Discusses traditional Mac OS file system input/output performance issues and the File Manager's volume cache.
Cocoa 2000-09-01
Guide to Creating Kiosks on Mac OS X (HTML) (PDF) ()
TN2062: Discusses techniques used in creating applications which require kiosk-like functionality on Mac OS X.
Cocoa 2003-02-24
HFS Plus Volume Format (HTML) (PDF) ()
TN1150: Describes the physical layout of an HFS Plus volume.
Cocoa 2004-03-05
Mac OS X 10.2 (HTML) (PDF)
TN2053: Describes software development-related changes provided in system software update Mac OS X 10.2.
Cocoa 2002-09-04
Mac OS X: v10.1.1 - v10.1.3 (HTML) (PDF)
TN2043: Describes changes provided by system software updates 10.1.1 through 10.1.3.
Cocoa 2002-03-06
Observing Process Lifetimes Without Polling (HTML) (PDF)
TN2050: Shows a variety of methods to determine process lifetimes without polling.
Cocoa 2002-07-01
Resolving Alias Files Quietly (HTML) (PDF)
FL30: Describes how to resolve alias files on remote volumes without user interaction.
Cocoa 1999-11-01
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
Cocoa 2004-03-01
SimpleCocoaApp: An Overview (HTML) (PDF) ()
TN2005: A high level overview of the steps required to build a simple Cocoa application.
Cocoa 2000-10-25
Tagging Handle and Pointer Data References in QuickTime (HTML) (PDF)
TN1195: The use of data reference extensions used by QuickTime to tag handle and pointer data references.
Cocoa 2004-05-26
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
Cocoa 2004-10-08
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Cocoa 2003-12-29
Using collection classes safely with multithreaded applications (HTML) (PDF) ()
TN2059: Describes some problems with and workarounds for using mutable collection classes in multithreaded applications.
Cocoa 2002-09-10